Skip to content

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

ehuss and others added 25 commits March 27, 2025 19:04
This renames `--runtool` and `--runtool-arg` to `--test-runtool` and
`--test-runtool-arg` to maintain consistency with other `--test-*`
arguments.
This removes the `--enable-per-target-ignores` and enables it
unconditionally.
…ib run-make test

Dynamic libraries on AIX have the ".a" extension. The c-link-to-rust-dylib
run-make test checks for the extension explicitly, so the extension for AIX
is also added to accommodate the test case on AIX.
…r=fmease

Stabilize flags for doctest cross compilation

This makes the following changes in preparation for supporting doctest cross-compiling in cargo:

- Renames `--runtool` and `--runtool-arg` to `--test-runtool` and `--test-runtool-arg` to maintain consistency with other `--test-*` arguments.
- Stabilizes the `--test-runtool` and `--test-runtool-arg`. These are needed in order to support cargo's `target.runner` option which specifies a runner to execute a cross-compiled doctest (for example, qemu).
- Stabilizes the `--enable-per-target-ignores` flag by removing it and making it unconditionally enabled. This makes it possible to disable a doctest on a per-target basis, which I think will be helpful for rolling out this feature.

These changes were suggested in https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/stabilizing.20doctest.20xcompile/near/409281127

The intent is to stabilize the doctest-xcompile feature in cargo. This will help ensure that for projects that do cross-compile testing that their doctests are also covered. Currently there is a somewhat surprising behavior that they are ignored.

Closes rust-lang#64245

try-job: x86_64-msvc-1
CI: use aws codebuild for job dist-arm-linux

try-job: dist-arm-linux
…ests_AIX, r=jieyouxu

[AIX] Handle AIX dynamic library extensions within c-link-to-rust-dylib run-make test

Dynamic libraries on AIX have the ".a" extension. The c-link-to-rust-dylib run-make test checks for the extension explicitly, so the extension for AIX is also added to accommodate the test case on AIX.
Improved diagnostics for non-primitive cast on non-primitive types (`Arc`, `Option`)

here is a small fix that improving error messaging when user is trying to do something like this
```rust
let _ = "x" as Arc<str>;
let _ = 2 as Option<i32>;
```

before it looks like this
```rust
error[E0605]: non-primitive cast: `&'static str` as `Arc<str>`
 --> src\main.rs:3:13
  |
3 |     let _ = "x" as Arc<str>;
  |             ^^^^^^^^^^^^^^^ help: consider using the `From` trait instead: `Arc<str>::from("x")`

error[E0605]: non-primitive cast: `i32` as `Option<i32>`
 --> src\main.rs:4:13
  |
4 |     let _ = 2 as Option<i32>;
```
which looks horrible to be honest
so i made a small fix that make errors looks like this
```rust
error[E0605]: non-primitive cast: `&'static str` as `Arc<str>`
  |
3 |     let _ = "x" as Arc<str>;
  |             ^^^^^^^^^^^^^^^
  |
  = note: an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object
help: consider using the `From` trait instead
  |
3 -     let _ = "x" as Arc<str>;
3 +     let _ = Arc::<str>::from("x");
  |

error[E0605]: non-primitive cast: `i32` as `Option<i32>`
  |
4 |     let _ = 2 as Option<i32>;
  |             ^^^^^^^^^^^^^^^^
  |
  = note: an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object
help: consider using the `From` trait instead
  |
4 -     let _ = 2 as Option<i32>;
4 +     let _ = Option::<i32>::from(2);
```

**What improves?**
1) `Arc<str>::from("x")` which makes no sense because of missing `::`
2) readability

**Related Issue**
fixes rust-lang#135412
Work around cygwin issue on condvar timeout

This workaround *just works*... Actually I don't quite understand why does it work in such way. With a simple test on Cygwin, it seems that the maximum value of `tv_sec` could be 12899331056917, while the maximum value of `tv_nsec` should be a value floating around 464600000. A larger `timespec` could block the syscall forever.

r? `@joboet`
… r=petrochenkov

`DelimArgs` tweaks

r? `@petrochenkov`
…s-indent, r=notriddle

Fix impl block items indent

Fixes rust-lang#139771.

Now, all impl block "before impl block items" indent are the same (ie, item info and documentation).

With this fix, it looks like this:

![Screenshot From 2025-04-24 12-32-40](https://github.com/user-attachments/assets/907803a2-2949-4d01-afa5-fc3132d10ff2)

You can test it [here](https://rustdoc.crud.net/imperio/fix-impl-block-items-indent/foo/struct.Context.html).

r? `@notriddle`
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like labels Apr 24, 2025
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. rollup A PR which is a rollup labels Apr 24, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Apr 24, 2025

📌 Commit bc25dc2 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 24, 2025
@bors
Copy link
Collaborator

bors commented Apr 25, 2025

⌛ Testing commit bc25dc2 with merge 603744a...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 25, 2025
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#137096 (Stabilize flags for doctest cross compilation)
 - rust-lang#140148 (CI: use aws codebuild for job dist-arm-linux)
 - rust-lang#140187 ([AIX] Handle AIX dynamic library extensions within c-link-to-rust-dylib run-make test)
 - rust-lang#140196 (Improved diagnostics for non-primitive cast on non-primitive types (`Arc`, `Option`))
 - rust-lang#140210 (Work around cygwin issue on condvar timeout)
 - rust-lang#140213 (mention about `x.py setup` in `INSTALL.md`)
 - rust-lang#140229 (`DelimArgs` tweaks)
 - rust-lang#140248 (Fix impl block items indent)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job i686-msvc-1 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:

---- [assembly] tests\assembly\targets\targets-elf.rs#mipsisa64r6_unknown_linux_gnuabi64 stdout ----

error in revision `mipsisa64r6_unknown_linux_gnuabi64`: auxiliary build of D:\a\rust\rust\tests\auxiliary\minicore.rs failed to compile: 
status: exit code: 1
command: PATH="D:\a\rust\rust\build\i686-pc-windows-msvc\stage2\bin;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.43.34808\bin\HostX64\x64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.43.34808\bin\HostX64\x86;D:\a\rust\rust\build\i686-pc-windows-msvc\stage0-bootstrap-tools\i686-pc-windows-msvc\release\deps;D:\a\rust\rust\build\i686-pc-windows-msvc\stage0\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\runneradmin\bin;D:\a\rust\rust\ninja;D:\a\rust\rust\sccache;C:\Program Files\MongoDB\Server\5.0\bin;C:\aliyun-cli;C:\vcpkg;C:\Program Files (x86)\NSIS;C:\tools\zstd;C:\Program Files\Mercurial;C:\hostedtoolcache\windows\stack\3.5.1\x64;C:\cabal\bin;C:\ghcup\bin;C:\mingw64\bin;C:\Program Files\dotnet;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\R\R-4.4.2\bin\x64;C:\SeleniumWebDrivers\GeckoDriver;C:\SeleniumWebDrivers\EdgeDriver;C:\SeleniumWebDrivers\ChromeDriver;C:\Program Files (x86)\sbt\bin;C:\Program Files (x86)\GitHub CLI;C:\Program Files\Git\usr\bin;C:\Program Files (x86)\pipx_bin;C:\npm\prefix;C:\hostedtoolcache\windows\go\1.21.13\x64\bin;C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts;C:\hostedtoolcache\windows\Python\3.9.13\x64;C:\hostedtoolcache\windows\Ruby\3.0.7\x64\bin;C:\Program Files\OpenSSL\bin;C:\tools\kotlinc\bin;C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\8.0.452-9\x64\bin;C:\Program Files\ImageMagick-7.1.1-Q16-HDRI;C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin;C:\ProgramData\kind;C:\ProgramData\Chocolatey\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\dotnet;C:\Program Files\PowerShell\7;C:\Program Files\Microsoft\Web Platform Installer;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\150\Tools\Binn;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;C:\Program Files (x86)\WiX Toolset v3.14\bin;C:\Program Files\Microsoft SQL Server\130\DTS\Binn;C:\Program Files\Microsoft SQL Server\140\DTS\Binn;C:\Program Files\Microsoft SQL Server\150\DTS\Binn;C:\Program Files\Microsoft SQL Server\160\DTS\Binn;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\ProgramData\chocolatey\lib\pulumi\tools\Pulumi\bin;C:\Program Files\CMake\bin;C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.9\bin;C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code;C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\GitHub CLI;C:\tools\php;C:\Program Files (x86)\sbt\bin;C:\Program Files\Amazon\AWSCLIV2;C:\Program Files\Amazon\SessionManagerPlugin\bin;C:\Program Files\Amazon\AWSSAMCLI\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\Program Files\LLVM\bin;C:\Users\runneradmin\.dotnet\tools;C:\Users\runneradmin\.cargo\bin;C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.43.34808\bin\HostX64\x86" "D:\\a\\rust\\rust\\build\\i686-pc-windows-msvc\\stage2\\bin\\rustc.exe" "D:\\a\\rust\\rust\\tests\\auxiliary\\minicore.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=C:\\Users\\runneradmin\\.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=D:\\a\\rust\\rust\\vendor" "--sysroot" "D:\\a\\rust\\rust\\build\\i686-pc-windows-msvc\\stage2" "--cfg" "mipsisa64r6_unknown_linux_gnuabi64" "--check-cfg" "cfg(test,FALSE,aarch64_be_unknown_linux_gnu,aarch64_be_unknown_linux_gnu_ilp32,aarch64_be_unknown_netbsd,aarch64_kmc_solid_asp3,aarch64_linux_android,aarch64_nintendo_switch_freestanding,aarch64_unknown_freebsd,aarch64_unknown_fuchsia,aarch64_unknown_hermit,aarch64_unknown_illumos,aarch64_unknown_linux_gnu,aarch64_unknown_linux_gnu_ilp32,aarch64_unknown_linux_musl,aarch64_unknown_linux_ohos,aarch64_unknown_netbsd,aarch64_unknown_none,aarch64_unknown_none_softfloat,aarch64_unknown_nto_qnx700,aarch64_unknown_nto_qnx710,aarch64_unknown_nto_qnx710_iosock,aarch64_unknown_nto_qnx800,aarch64_unknown_openbsd,aarch64_unknown_redox,aarch64_unknown_teeos,aarch64_unknown_nuttx,aarch64_unknown_trusty,aarch64_wrs_vxworks,arm_linux_androideabi,arm_unknown_linux_gnueabi,arm_unknown_linux_gnueabihf,arm_unknown_linux_musleabi,arm_unknown_linux_musleabihf,armeb_unknown_linux_gnueabi,armebv7r_none_eabi,armebv7r_none_eabihf,armv4t_none_eabi,armv4t_unknown_linux_gnueabi,armv5te_none_eabi,armv5te_unknown_linux_gnueabi,armv5te_unknown_linux_musleabi,armv5te_unknown_linux_uclibceabi,armv6_unknown_freebsd,armv6_unknown_netbsd_eabihf,armv6k_nintendo_3ds,armv7_linux_androideabi,armv7_rtems_eabihf,armv7_sony_vita_newlibeabihf,armv7_unknown_freebsd,armv7_unknown_linux_gnueabi,armv7_unknown_linux_gnueabihf,armv7_unknown_linux_musleabi,armv7_unknown_linux_musleabihf,armv7_unknown_linux_ohos,armv7_unknown_linux_uclibceabi,armv7_unknown_linux_uclibceabihf,armv7_unknown_netbsd_eabihf,armv7_unknown_trusty,armv7_wrs_vxworks_eabihf,armv7a_kmc_solid_asp3_eabi,armv7a_kmc_solid_asp3_eabihf,armv7a_none_eabi,armv7a_none_eabihf,armv7a_nuttx_eabi,armv7a_nuttx_eabihf,armv7r_none_eabi,armv7r_none_eabihf,armv8r_none_eabihf,hexagon_unknown_linux_musl,hexagon_unknown_none_elf,i686_pc_nto_qnx700,i586_unknown_linux_gnu,i586_unknown_linux_musl,i586_unknown_netbsd,i586_unknown_redox,i686_linux_android,i686_unknown_freebsd,i686_unknown_haiku,i686_unknown_hurd_gnu,i686_unknown_linux_gnu,i686_unknown_linux_musl,i686_unknown_netbsd,i686_unknown_openbsd,i686_wrs_vxworks,loongarch64_unknown_linux_gnu,loongarch64_unknown_linux_musl,loongarch64_unknown_linux_ohos,loongarch64_unknown_none,loongarch64_unknown_none_softfloat,m68k_unknown_linux_gnu,m68k_unknown_none_elf,mips64_openwrt_linux_musl,mips64_unknown_linux_gnuabi64,mips64_unknown_linux_muslabi64,mips64el_unknown_linux_gnuabi64,mips64el_unknown_linux_muslabi64,mips_unknown_linux_gnu,mips_unknown_linux_musl,mips_unknown_linux_uclibc,mips_mti_none_elf,mipsel_mti_none_elf,mipsel_sony_psp,mipsel_sony_psx,mipsel_unknown_linux_gnu,mipsel_unknown_linux_musl,mipsel_unknown_linux_uclibc,mipsel_unknown_netbsd,mipsel_unknown_none,mipsisa32r6_unknown_linux_gnu,mipsisa32r6el_unknown_linux_gnu,mipsisa64r6_unknown_linux_gnuabi64,mipsisa64r6el_unknown_linux_gnuabi64,msp430_none_elf,powerpc64_unknown_freebsd,powerpc64_unknown_linux_gnu,powerpc64_unknown_linux_musl,powerpc64_unknown_openbsd,powerpc64_wrs_vxworks,powerpc64le_unknown_freebsd,powerpc64le_unknown_linux_gnu,powerpc64le_unknown_linux_musl,powerpc_unknown_freebsd,powerpc_unknown_linux_gnu,powerpc_unknown_linux_gnuspe,powerpc_unknown_linux_musl,powerpc_unknown_linux_muslspe,powerpc_unknown_netbsd,powerpc_unknown_openbsd,powerpc_wrs_vxworks,powerpc_wrs_vxworks_spe,riscv32_wrs_vxworks,riscv32e_unknown_none_elf,riscv32em_unknown_none_elf,riscv32emc_unknown_none_elf,riscv32gc_unknown_linux_gnu,riscv32gc_unknown_linux_musl,riscv32i_unknown_none_elf,riscv32im_risc0_zkvm_elf,riscv32im_unknown_none_elf,riscv32ima_unknown_none_elf,riscv32imac_esp_espidf,riscv32imac_unknown_none_elf,riscv32imac_unknown_xous_elf,riscv32imafc_unknown_none_elf,riscv32imafc_esp_espidf,riscv32imc_esp_espidf,riscv32imc_unknown_none_elf,riscv64_linux_android,riscv64_wrs_vxworks,riscv64gc_unknown_freebsd,riscv64gc_unknown_fuchsia,riscv64gc_unknown_hermit,riscv64gc_unknown_linux_gnu,riscv64gc_unknown_linux_musl,riscv64gc_unknown_netbsd,riscv64gc_unknown_none_elf,riscv64gc_unknown_openbsd,riscv64imac_unknown_none_elf,s390x_unknown_linux_gnu,s390x_unknown_linux_musl,sparc64_unknown_linux_gnu,sparc64_unknown_netbsd,sparc64_unknown_openbsd,sparc_unknown_linux_gnu,sparc_unknown_none_elf,sparcv9_sun_solaris,thumbv4t_none_eabi,thumbv5te_none_eabi,thumbv6m_none_eabi,thumbv7em_none_eabi,thumbv7em_none_eabihf,thumbv7m_none_eabi,thumbv7neon_linux_androideabi,thumbv7neon_unknown_linux_gnueabihf,thumbv7neon_unknown_linux_musleabihf,thumbv8m_base_none_eabi,thumbv8m_main_none_eabi,thumbv8m_main_none_eabihf,wasm32_unknown_emscripten,wasm32_unknown_unknown,wasm32v1_none,wasm32_wasip1,wasm32_wasip1_threads,wasm32_wasip2,wasm32_wali_linux_musl,wasm64_unknown_unknown,x86_64_fortanix_unknown_sgx,x86_64_linux_android,x86_64_lynx_lynxos178,x86_64_pc_nto_qnx710,x86_64_pc_nto_qnx710_iosock,x86_64_pc_nto_qnx800,x86_64_pc_solaris,x86_64_unikraft_linux_musl,x86_64_unknown_dragonfly,x86_64_unknown_freebsd,x86_64_unknown_fuchsia,x86_64_unknown_haiku,x86_64_unknown_hurd_gnu,x86_64_unknown_hermit,x86_64_unknown_illumos,x86_64_unknown_l4re_uclibc,x86_64_unknown_linux_gnu,x86_64_unknown_linux_gnux32,x86_64_unknown_linux_musl,x86_64_unknown_linux_ohos,x86_64_unknown_linux_none,x86_64_unknown_netbsd,x86_64_unknown_none,x86_64_unknown_openbsd,x86_64_unknown_redox,x86_64_unknown_trusty,x86_64_wrs_vxworks,thumbv6m_nuttx_eabi,thumbv7a_nuttx_eabi,thumbv7a_nuttx_eabihf,thumbv7m_nuttx_eabi,thumbv7em_nuttx_eabi,thumbv7em_nuttx_eabihf,thumbv8m_base_nuttx_eabi,thumbv8m_main_nuttx_eabi,thumbv8m_main_nuttx_eabihf,riscv32imc_unknown_nuttx_elf,riscv32imac_unknown_nuttx_elf,riscv32imafc_unknown_nuttx_elf,riscv64imac_unknown_nuttx_elf,riscv64gc_unknown_nuttx_elf)" "-O" "-Cdebug-assertions=no" "-C" "prefer-dynamic" "-o" "D:\\a\\rust\\rust\\build\\i686-pc-windows-msvc\\test\\assembly\\targets\\targets-elf.mipsisa64r6_unknown_linux_gnuabi64\\libminicore.rlib" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "--target" "mipsisa64r6-unknown-linux-gnuabi64" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--crate-type" "rlib" "-Cpanic=abort"
stdout: none
--- stderr -------------------------------
error: couldn't create a temp dir: Access is denied. (os error 5) at path "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\rustci2WbwQ"

error: aborting due to 1 previous error
------------------------------------------


---
test result: FAILED. 468 passed; 1 failed; 70 ignored; 0 measured; 0 filtered out; finished in 26.54s

Some tests failed in compiletest suite=assembly mode=assembly host=i686-pc-windows-msvc target=i686-pc-windows-msvc
Build completed unsuccessfully in 1:42:11
make: *** [Makefile:113: ci-msvc-py] Error 1
  local time: Fri Apr 25 05:58:11 CUT 2025
  network time: Fri, 25 Apr 2025 05:58:11 GMT
##[error]Process completed with exit code 2.
Post job cleanup.
[command]"C:\Program Files\Git\bin\git.exe" version

@bors
Copy link
Collaborator

bors commented Apr 25, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 25, 2025
@Zalathar Zalathar added the CI-spurious-fail-msvc CI spurious failure: target env msvc label Apr 25, 2025
@matthiaskrgr
Copy link
Member Author

@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 25, 2025
@bors
Copy link
Collaborator

bors commented Apr 25, 2025

⌛ Testing commit bc25dc2 with merge 5c54aa7...

@bors
Copy link
Collaborator

bors commented Apr 25, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 5c54aa7 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Apr 25, 2025
@bors bors merged commit 5c54aa7 into rust-lang:master Apr 25, 2025
7 checks passed
@rustbot rustbot added this to the 1.88.0 milestone Apr 25, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#137096 Stabilize flags for doctest cross compilation a128a3c9a91a82aa084d79771d57e0c06e74c23a (link)
#140148 CI: use aws codebuild for job dist-arm-linux 3e20f341cc45331fbf30eb81f1cd5482ec6b6237 (link)
#140187 [AIX] Handle AIX dynamic library extensions within c-link-t… a1059875e589878bf493681de3c5f15e226b75e1 (link)
#140196 Improved diagnostics for non-primitive cast on non-primitiv… 7a9c05dd538a6cb0083ede04b07cf2b8fe77713b (link)
#140210 Work around cygwin issue on condvar timeout 6056b79df97f75c43767d883b5365110a87ecdb1 (link)
#140213 mention about x.py setup in INSTALL.md bd6d30f30d5459966beb51de070da725de96f7ba (link)
#140229 DelimArgs tweaks 0df1e32a026786199b5fb333aa1b527114765134 (link)
#140248 Fix impl block items indent baa299ebd13c4e35c05169fd0afc593b83a5eaf5 (link)

previous master: 862156d6f2

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

Copy link
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 862156d (parent) -> 5c54aa7 (this PR)

Test differences

Show 33065 test diffs

Stage 1

  • sort::tests::stable::correct_u128_ascending: [missing] -> ignore (J0)
  • sort::tests::unstable::correct_cell_i32_random_d20: [missing] -> ignore (J0)
  • sort::tests::unstable::correct_f128_random_s95: [missing] -> ignore (J0)
  • sort::tests::unstable::correct_string_ascending: [missing] -> ignore (J0)
  • sort::tests::unstable::deterministic_string_saw_mixed: [missing] -> ignore (J0)
  • sort::tests::unstable::violate_ord_retain_orig_set_i32_ascending: [missing] -> ignore (J0)
  • ascii::test_is_ascii_graphic: [missing] -> pass (J1)
  • btree_set_hash::test_hash: [missing] -> pass (J1)
  • char::test_is_numeric: [missing] -> pass (J1)
  • cmp::test_mut_int_totalord: [missing] -> pass (J1)
  • f32::test_minimum: [missing] -> pass (J1)
  • io::tests::take_eof: [missing] -> pass (J1)
  • iter::test_multi_iter: [missing] -> pass (J1)
  • mpsc::oneshot_single_thread_peek_close: [missing] -> pass (J1)
  • num::bignum::test_is_zero: [missing] -> pass (J1)
  • num::i16::test_rem_euclid: [missing] -> pass (J1)
  • num::test_try_i64i16: [missing] -> pass (J1)
  • num::u8::test_isqrt: [missing] -> pass (J1)
  • rc::shared_from_iter_normal: [missing] -> pass (J1)
  • str::utf8_char_counts: [missing] -> pass (J1)
  • sys_common::wtf8::tests::wtf8buf_as_slice: [missing] -> pass (J1)
  • thread::tests::test_park_timeout_unpark_called_other_thread: [missing] -> pass (J1)
  • vec::test_extend_from_slice: [missing] -> pass (J1)
  • vec::test_vec_dedup_empty: [missing] -> pass (J1)
  • clean::types::tests::is_same_generic: [missing] -> pass (J2)
  • error::verify_middle_erroneous_constant_15: [missing] -> pass (J2)
  • error_reporting::traits::on_unimplemented_format::errors::verify_trait_selection_missing_options_for_on_unimplemented_attr_7: [missing] -> pass (J2)
  • errors::verify_builtin_macros_asm_duplicate_arg_75: [missing] -> pass (J2)
  • errors::verify_codegen_ssa_invalid_monomorphization_return_integer_type_105: [missing] -> pass (J2)
  • errors::verify_const_eval_thread_local_access_4: [missing] -> pass (J2)
  • errors::verify_resolve_ident_bound_more_than_once_in_same_pattern_3: [missing] -> pass (J2)
  • errors::verify_resolve_lending_iterator_report_error_46: [missing] -> pass (J2)
  • html::render::write_shared::tests::hack_external_crate_names: [missing] -> pass (J2)
  • json::tests::span_before_crlf: [missing] -> pass (J2)
  • session_diagnostics::verify_attr_parsing_expected_single_version_literal_21: [missing] -> pass (J2)
  • spec::tests::aarch64_pc_windows_msvc: [missing] -> pass (J2)
  • spec::tests::aarch64_unknown_linux_gnu_ilp32: [missing] -> pass (J2)
  • spec::tests::loongarch64_unknown_linux_gnu: [missing] -> pass (J2)
  • spec::tests::riscv32imac_unknown_nuttx_elf: [missing] -> pass (J2)
  • spec::tests::x86_64_unknown_none: [missing] -> pass (J2)
  • tests::bench_typed_arena_clear: [missing] -> pass (J2)
  • tests::test_union_info_roundtrip: [missing] -> pass (J2)
  • ascii::is_ascii::unaligned_both_long::case00_libcore: [missing] -> pass (J3)
  • ascii::is_ascii::unaligned_both_medium::case00_libcore: [missing] -> pass (J3)
  • ascii::medium::is_ascii: [missing] -> pass (J3)
  • binary_heap::bench_into_sorted_vec: [missing] -> pass (J3)
  • iter::bench_max_by_key2: [missing] -> pass (J3)
  • iter::bench_skip_sum: [missing] -> pass (J3)
  • iter::bench_zip_copy: [missing] -> pass (J3)
  • net::tcp::tests::read_vectored: [missing] -> pass (J3)
  • num::int_log::u64_log_geometric: [missing] -> pass (J3)
  • sort::tests::unstable::panic_retain_orig_set_i32_random_d2: [missing] -> pass (J3)
  • sort::tests::unstable::panic_retain_orig_set_string_random_s95: [missing] -> pass (J3)
  • stats::tests::test_pois25lambda30: [missing] -> pass (J3)
  • str::char_count::ru_small::case01_filter_count_cont_bytes: [missing] -> pass (J3)
  • vec::bench_retain_100000: [missing] -> pass (J3)

Stage 2

  • sort::tests::stable::deterministic_string_random: ignore -> [missing] (J0)
  • sort::tests::stable::self_cmp_cell_i32_ascending: ignore -> [missing] (J0)
  • ascii_char::test_display: pass -> [missing] (J1)
  • collections::btree::set::tests::test_retain: pass -> [missing] (J1)
  • collections::linked_list::tests::test_cursor_mut_insert: pass -> [missing] (J1)
  • collections::vec_deque::tests::test_remove: pass -> [missing] (J1)
  • f64::test_exp: pass -> [missing] (J1)
  • fmt::builders::debug_tuple::test_nested_non_exhaustive: pass -> [missing] (J1)
  • io::copy::tests::copy_copies: pass -> [missing] (J1)
  • iter::adapters::chain::test_iterator_chain_size_hint: pass -> [missing] (J1)
  • iter::adapters::peekable::test_peekable_non_fused: pass -> [missing] (J1)
  • mpsc::oneshot_single_thread_peek_data: pass -> [missing] (J1)
  • mpsc::oneshot_single_thread_try_send_open: pass -> [missing] (J1)
  • nonzero::test_match_option_empty_string: pass -> [missing] (J1)
  • num::bignum::test_mul_small: pass -> [missing] (J1)
  • num::dec2flt::massive_exponent: pass -> [missing] (J1)
  • num::i16::test_count_ones: pass -> [missing] (J1)
  • num::test_try_i8u64: pass -> [missing] (J1)
  • num::test_try_u8i8: pass -> [missing] (J1)
  • rwlock::panic_while_mapping_read_unlocked_no_poison: pass -> [missing] (J1)
  • slice::test_chunks_mut_nth: pass -> [missing] (J1)
  • slice::test_rchunks_mut_next_back: pass -> [missing] (J1)
  • slice::test_rsplit_iterator: pass -> [missing] (J1)
  • thread::tests::test_park_unpark_before: pass -> [missing] (J1)
  • vec_deque::test_append_double_drop: pass -> [missing] (J1)
  • errors::verify_codegen_ssa_unexpected_parameter_name_25: pass -> [missing] (J2)
  • errors::verify_mir_build_irrefutable_let_patterns_while_let_14: pass -> [missing] (J2)
  • errors::verify_monomorphize_unknown_cgu_collection_mode_7: pass -> [missing] (J2)
  • errors::verify_parse_async_move_block_in_2015_60: pass -> [missing] (J2)
  • errors::verify_parse_colon_as_semi_59: pass -> [missing] (J2)
  • errors::verify_parse_compound_assignment_expression_in_let_43: pass -> [missing] (J2)
  • errors::verify_resolve_lowercase_self_13: pass -> [missing] (J2)
  • graph::scc::tests::diamond: pass -> [missing] (J2)
  • lints::verify_lint_missing_fragment_specifier_118: pass -> [missing] (J2)
  • opaque::tests::test_bool: pass -> [missing] (J2)
  • parser::tests::multiline_notes: pass -> [missing] (J2)
  • session_diagnostics::verify_attr_parsing_soft_no_args_26: pass -> [missing] (J2)
  • spec::tests::s390x_unknown_linux_musl: pass -> [missing] (J2)
  • ascii::is_ascii::unaligned_tail_long::case03_align_to_unrolled: pass -> [missing] (J3)
  • net::tcp::tests::shutdown_smoke: pass -> [missing] (J3)
  • num::bench_i32_from_str: pass -> [missing] (J3)
  • sort::tests::stable::correct_u128_random_d2: pass -> [missing] (J3)
  • str::trim_ascii_char::long_lorem_ipsum: pass -> [missing] (J3)
  • tests::exclude_should_panic_option: pass -> [missing] (J3)

(and 16446 additional test diffs)

Additionally, 16519 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 5c54aa781f97ae95ef01a3120650907b87d385d3 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-apple-2: 1227.6s -> 5685.9s (363.2%)
  2. test-various: 2232.1s -> 4273.7s (91.5%)
  3. x86_64-gnu-aux: 4182.6s -> 6017.5s (43.9%)
  4. dist-arm-linux: 5474.5s -> 3393.4s (-38.0%)
  5. aarch64-apple: 3180.8s -> 3994.8s (25.6%)
  6. x86_64-apple-1: 5978.7s -> 7418.8s (24.1%)
  7. dist-powerpc-linux: 5882.6s -> 5237.1s (-11.0%)
  8. x86_64-mingw-2: 6915.0s -> 7428.2s (7.4%)
  9. dist-aarch64-apple: 5906.6s -> 5485.9s (-7.1%)
  10. dist-x86_64-msvc-alt: 7299.4s -> 7813.1s (7.0%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (5c54aa7): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary 2.6%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
2.6% [1.5%, 3.8%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.6% [1.5%, 3.8%] 2

Cycles

Results (primary -0.5%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.5% [-0.5%, -0.4%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.5% [-0.5%, -0.4%] 3

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 777.547s -> 776.42s (-0.14%)
Artifact size: 365.15 MiB -> 365.20 MiB (0.01%)

github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request May 9, 2025
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#137096 (Stabilize flags for doctest cross compilation)
 - rust-lang#140148 (CI: use aws codebuild for job dist-arm-linux)
 - rust-lang#140187 ([AIX] Handle AIX dynamic library extensions within c-link-to-rust-dylib run-make test)
 - rust-lang#140196 (Improved diagnostics for non-primitive cast on non-primitive types (`Arc`, `Option`))
 - rust-lang#140210 (Work around cygwin issue on condvar timeout)
 - rust-lang#140213 (mention about `x.py setup` in `INSTALL.md`)
 - rust-lang#140229 (`DelimArgs` tweaks)
 - rust-lang#140248 (Fix impl block items indent)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc CI-spurious-fail-msvc CI spurious failure: target env msvc merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.
Projects
None yet
Development

Successfully merging this pull request may close these issues.